home *** CD-ROM | disk | FTP | other *** search
- static char now_prog[] = "@(#)Aktuelles Zeit ermitteln";
- static char now_ver[] = "@(#)v1.00/kr ; 09.06.91";
- /* now Ermitteln der aktuellen Zeit aus der Systemzeit.
- **
- ** Autor Klaus Rath
- **
- ** Deklaration char *now(int format);
- **
- ** Beschreibung Die Funktion liest die Systemzeit aus und gibt einen String
- ** im gewünschten Format zurück. Die aufrufende Funktion muß
- ** deshalb sicherstellen, daß ein char-Array ausreichender
- ** Größe definiert ist, oder sich zum Aufrufzeitpunkt genügend
- ** Speicherplatz per malloc besorgen.
- ** Erlaubte Formate, ihre Ausprägung und ihre Arraylänge:
- ** 1 hh:mm:ss 9
- ** 2 hh:mm 6
- ** 3 hh.mm.ss 9
- ** 4 hh.mm 6
- ** 5 hhmm 5
- ** 6 hhmmss 7
- ** Im Fehlerfall gibt now einen (char *)NULL zurück!
- **
- ** Änderungen 1.00 ; 09.06.91
- ** - Erste Version
- ** 1.10 ; 10.06.91
- ** - Umkopierung auf sprintf() umgestellt.
- */
-
- #include <stdio.h>
- #include <time.h>
- #include <string.h>
- #ifdef __TURBOC__
- #include <sys\types.h>
- #include <stdlib.h>
- #else
- #include <sys/types.h>
- #endif
- #include "datum.h"
-
- char *now(int format)
- {
- char stunden[3];
- char minuten[3];
- char sekunden[3];
- int stunden_z;
- int minuten_z;
- int sekunden_z;
- char systemzeit_s[26];
- time_t systemzeit;
- struct tm *heute;
- char rueckgabe[9];
-
- /* Systemzeit holen :
- */
- time(&systemzeit);
- strcpy(systemzeit_s,ctime(&systemzeit));
-
- heute = localtime(&systemzeit);
- stunden_z = heute->tm_hour;
- minuten_z = heute->tm_min;
- sekunden_z = heute->tm_sec;
-
- /* Formatiert umkopieren :
- */
- sprintf(stunden, "%02d",stunden_z);
- sprintf(minuten, "%02d",minuten_z);
- sprintf(sekunden,"%02d",sekunden_z);
-
- /* Rückgabe nach Vorgabe zusammensetzen :
- */
- if ( format == TI_HM_D || format == TI_HMS_D ) {
- strcpy(rueckgabe,stunden);
- strcat(rueckgabe,":");
- strcat(rueckgabe,minuten);
- if ( format == TI_HMS_D ) {
- strcat(rueckgabe,":");
- strcat(rueckgabe,sekunden);
- }
- }
- else if ( format == TI_HM_P || format == TI_HMS_P ) {
- strcpy(rueckgabe,stunden);
- strcat(rueckgabe,".");
- strcat(rueckgabe,minuten);
- if ( format == TI_HMS_P ) {
- strcat(rueckgabe,".");
- strcat(rueckgabe,sekunden);
- }
- }
- else if ( format == TI_HM_DB || format == TI_HMS_DB ) {
- strcpy(rueckgabe,stunden);
- strcat(rueckgabe,minuten);
- if ( format == TI_HMS_DB ) {
- strcat(rueckgabe,sekunden);
- }
- }
- else
- return(NULL);
-
- return(rueckgabe);
-
- } /* ENDE: now() */
-